********************************************************************************
*Table 2; Column 1 
********************************************************************************

clear all
set matsize 10000
set maxvar 40000
set more off
global data " "
global dir " "
use $data/estimation_sample_blacks, clear


egen fraction_black = mean(mothers_race_black), by(by mom_birth_state year)

collapse (mean) fraction_black T focal index, by(by mom_birth_state year)

save black_fertility.dta, replace

preserve
gen Post0=0
replace Post0=1 if index==0

gen Post1=0
replace Post1=1 if index==1

gen Post2=0
replace Post2=1 if index==2

gen Post3=0
replace Post3=1 if index==3

gen Post4=0
replace Post4=1 if index>=4


global treat_var "Post0 Post1 Post2 Post3 Post4"
foreach x in $treat_var{
sum `x', meanonly
scalar mean`x'=r(mean)
}


reg fraction_black $treat_var   i.by i.mom_birth_state i.year [aweight=Female1849B], cluster(mom_birth_state)  

local Z=meanPost0+meanPost1+meanPost2+meanPost3+meanPost4
lincom (_b[Post0]*meanPost0/`Z')+(_b[Post1]*meanPost1/`Z')+(_b[Post2]*meanPost2/`Z')+(_b[Post3]*meanPost3/`Z')+(_b[Post4]*meanPost4/`Z')
restore
*******************************************************************************
set seed 23260513
capture postclose placebo		  
postfile placebo b using "$data/table_2_c1", replace
forvalues i=1/500 {
use $data/black_fertility.dta, clear

preserve
bsample, cluster(mom_birth_state)

gen Post0=0
replace Post0=1 if index==0

gen Post1=0
replace Post1=1 if index==1

gen Post2=0
replace Post2=1 if index==2

gen Post3=0
replace Post3=1 if index==3

gen Post4=0
replace Post4=1 if index>=4


global treat_var "Post0 Post1 Post2 Post3 Post4"
foreach x in $treat_var{
sum `x', meanonly
scalar mean`x'=r(mean)
}
qui reg fraction_black $treat_var   i.by i.mom_birth_state i.year [aweight=Female1849B]  

local V=meanPost0+meanPost1+meanPost2+meanPost3+meanPost4
local c_weighted=(_b[Post0]*meanPost0/`V')+(_b[Post1]*meanPost1/`V')+(_b[Post2]*meanPost2/`V')+(_b[Post3]*meanPost3/`V')+(_b[Post4]*meanPost4/`V')
post placebo (`c_weighted')
restore
}

postclose placebo


use table_2_c1, clear

sum  /****Std Dev is the standard error of the weighted point estimate.*/

********************************************************************************
*Table 2; Column 2 
********************************************************************************

clear all
set matsize 10000
set maxvar 40000
set more off
global data " "
global dir " "
use $data/estimation_sample_whites, clear


egen fraction_white = mean(mothers_race_white), by(by mom_birth_state year)

collapse (mean) fraction_white T focal index, by(by mom_birth_state year)

save white_fertility.dta, replace

preserve
gen Post0=0
replace Post0=1 if index==0

gen Post1=0
replace Post1=1 if index==1

gen Post2=0
replace Post2=1 if index==2

gen Post3=0
replace Post3=1 if index==3

gen Post4=0
replace Post4=1 if index>=4


global treat_var "Post0 Post1 Post2 Post3 Post4"
foreach x in $treat_var{
sum `x', meanonly
scalar mean`x'=r(mean)
}


reg fraction_white $treat_var   i.by i.mom_birth_state i.year [aweight=Female1849B], cluster(mom_birth_state)  

local Z=meanPost0+meanPost1+meanPost2+meanPost3+meanPost4
lincom (_b[Post0]*meanPost0/`Z')+(_b[Post1]*meanPost1/`Z')+(_b[Post2]*meanPost2/`Z')+(_b[Post3]*meanPost3/`Z')+(_b[Post4]*meanPost4/`Z')
restore
********************************************************************************

set seed 23260513
capture postclose placebo		  
postfile placebo b using "$data/table_2_c2", replace
forvalues i=1/500 {
use $data/white_fertility.dta, clear

preserve
bsample, cluster(mom_birth_state)

gen Post0=0
replace Post0=1 if index==0

gen Post1=0
replace Post1=1 if index==1

gen Post2=0
replace Post2=1 if index==2

gen Post3=0
replace Post3=1 if index==3

gen Post4=0
replace Post4=1 if index>=4


global treat_var "Post0 Post1 Post2 Post3 Post4"
foreach x in $treat_var{
sum `x', meanonly
scalar mean`x'=r(mean)
}
qui reg fraction_white $treat_var   i.by i.mom_birth_state i.year [aweight=Female1849B]  

local V=meanPost0+meanPost1+meanPost2+meanPost3+meanPost4
local c_weighted=(_b[Post0]*meanPost0/`V')+(_b[Post1]*meanPost1/`V')+(_b[Post2]*meanPost2/`V')+(_b[Post3]*meanPost3/`V')+(_b[Post4]*meanPost4/`V')
post placebo (`c_weighted')
restore
}

postclose placebo


use table_2_c2, clear

sum  /****Std Dev is the standard error of the weighted point estimate.*/



********************************************************************************
*Table 2; Column 3 
********************************************************************************
clear all
set matsize 10000
set maxvar 40000
set more off
global data " "
global dir " "
use $data/black_fertility_09_18, clear



preserve
gen Post0=0
replace Post0=1 if index==0

gen Post1=0
replace Post1=1 if index==1

gen Post2=0
replace Post2=1 if index==2

gen Post3=0
replace Post3=1 if index==3

gen Post4=0
replace Post4=1 if index>=4


global treat_var "Post0 Post1 Post2 Post3 Post4"
global state_var "Exitexam Perstudentexpenditure Studentteacherratio Povertyrate Unemploymentrate"
foreach x in $treat_var{
sum `x', meanonly
scalar mean`x'=r(mean)
}
 
reg nchild $treat_var $state_var     i.division#c.by i.by i.mom_birth_state Exitexam Perstudentexpenditure Studentteacherratio Povertyrate Unemploymentrate [aw=perwt ], cluster(mom_birth_state)

local Z=meanPost0+meanPost1+meanPost2+meanPost3+meanPost4
lincom (_b[Post0]*meanPost0/`Z')+(_b[Post1]*meanPost1/`Z')+(_b[Post2]*meanPost2/`Z')+(_b[Post3]*meanPost3/`Z')+(_b[Post4]*meanPost4/`Z')
restore
********************************************************************************
set seed 23260513
capture postclose placebo		  
postfile placebo b using "$data/table_2_c3", replace
forvalues i=1/500 {
use $data/black_fertility_09_18, clear


preserve
bsample, cluster(mom_birth_state)

gen Post0=0
replace Post0=1 if index==0

gen Post1=0
replace Post1=1 if index==1

gen Post2=0
replace Post2=1 if index==2

gen Post3=0
replace Post3=1 if index==3

gen Post4=0
replace Post4=1 if index>=4


global treat_var "Post0 Post1 Post2 Post3 Post4"
global state_var "Exitexam Perstudentexpenditure Studentteacherratio Povertyrate Unemploymentrate"
foreach x in $treat_var{
sum `x', meanonly
scalar mean`x'=r(mean)
}
qui reg  nchild $treat_var $state_var     i.division#c.by i.by i.mom_birth_state Exitexam Perstudentexpenditure Studentteacherratio Povertyrate Unemploymentrate [aw=perwt ]

local V=meanPost0+meanPost1+meanPost2+meanPost3+meanPost4
local c_weighted=(_b[Post0]*meanPost0/`V')+(_b[Post1]*meanPost1/`V')+(_b[Post2]*meanPost2/`V')+(_b[Post3]*meanPost3/`V')+(_b[Post4]*meanPost4/`V')
post placebo (`c_weighted')
restore
}

postclose placebo


use table_2_c3, clear

sum  /****Std Dev is the standard error of the weighted point estimate.*/


********************************************************************************
*Table 2; Column 4 
********************************************************************************
clear all
set matsize 10000
set maxvar 40000
set more off
global data " "
global dir " "
use $data/black_fertility_09_18, clear



preserve
gen Post0=0
replace Post0=1 if index==0

gen Post1=0
replace Post1=1 if index==1

gen Post2=0
replace Post2=1 if index==2

gen Post3=0
replace Post3=1 if index==3

gen Post4=0
replace Post4=1 if index>=4


global treat_var "Post0 Post1 Post2 Post3 Post4"
global state_var "Exitexam Perstudentexpenditure Studentteacherratio Povertyrate Unemploymentrate"
foreach x in $treat_var{
sum `x', meanonly
scalar mean`x'=r(mean)
}
 
reg childlessness $treat_var $state_var     i.division#c.by i.by i.mom_birth_state Exitexam Perstudentexpenditure Studentteacherratio Povertyrate Unemploymentrate [aw=perwt ], cluster(mom_birth_state)

local Z=meanPost0+meanPost1+meanPost2+meanPost3+meanPost4
lincom (_b[Post0]*meanPost0/`Z')+(_b[Post1]*meanPost1/`Z')+(_b[Post2]*meanPost2/`Z')+(_b[Post3]*meanPost3/`Z')+(_b[Post4]*meanPost4/`Z')
restore
********************************************************************************
set seed 23260513
capture postclose placebo		  
postfile placebo b using "$data/table_2_c4", replace
forvalues i=1/500 {
use $data/black_fertility_09_18, clear


preserve
bsample, cluster(mom_birth_state)

gen Post0=0
replace Post0=1 if index==0

gen Post1=0
replace Post1=1 if index==1

gen Post2=0
replace Post2=1 if index==2

gen Post3=0
replace Post3=1 if index==3

gen Post4=0
replace Post4=1 if index>=4


global treat_var "Post0 Post1 Post2 Post3 Post4"
global state_var "Exitexam Perstudentexpenditure Studentteacherratio Povertyrate Unemploymentrate"
foreach x in $treat_var{
sum `x', meanonly
scalar mean`x'=r(mean)
}
qui reg  childlessness $treat_var $state_var     i.division#c.by i.by i.mom_birth_state Exitexam Perstudentexpenditure Studentteacherratio Povertyrate Unemploymentrate [aw=perwt ]

local V=meanPost0+meanPost1+meanPost2+meanPost3+meanPost4
local c_weighted=(_b[Post0]*meanPost0/`V')+(_b[Post1]*meanPost1/`V')+(_b[Post2]*meanPost2/`V')+(_b[Post3]*meanPost3/`V')+(_b[Post4]*meanPost4/`V')
post placebo (`c_weighted')
restore
}

postclose placebo


use table_2_c4, clear

sum  /****Std Dev is the standard error of the weighted point estimate.*/




********************************************************************************
*Table 2; Column 5 
********************************************************************************
clear all
set matsize 10000
set maxvar 40000
set more off
global data " "
global dir " "
use $data/white_fertility_09_18, clear



preserve
gen Post0=0
replace Post0=1 if index==0

gen Post1=0
replace Post1=1 if index==1

gen Post2=0
replace Post2=1 if index==2

gen Post3=0
replace Post3=1 if index==3

gen Post4=0
replace Post4=1 if index>=4


global treat_var "Post0 Post1 Post2 Post3 Post4"
global state_var "Exitexam Perstudentexpenditure Studentteacherratio Povertyrate Unemploymentrate"
foreach x in $treat_var{
sum `x', meanonly
scalar mean`x'=r(mean)
}
 
reg nchild $treat_var $state_var     i.division#c.by i.by i.mom_birth_state Exitexam Perstudentexpenditure Studentteacherratio Povertyrate Unemploymentrate [aw=perwt ], cluster(mom_birth_state)

local Z=meanPost0+meanPost1+meanPost2+meanPost3+meanPost4
lincom (_b[Post0]*meanPost0/`Z')+(_b[Post1]*meanPost1/`Z')+(_b[Post2]*meanPost2/`Z')+(_b[Post3]*meanPost3/`Z')+(_b[Post4]*meanPost4/`Z')
restore
********************************************************************************
set seed 23260513
capture postclose placebo		  
postfile placebo b using "$data/table_2_c5", replace
forvalues i=1/500 {
use $data/white_fertility_09_18, clear


preserve
bsample, cluster(mom_birth_state)

gen Post0=0
replace Post0=1 if index==0

gen Post1=0
replace Post1=1 if index==1

gen Post2=0
replace Post2=1 if index==2

gen Post3=0
replace Post3=1 if index==3

gen Post4=0
replace Post4=1 if index>=4


global treat_var "Post0 Post1 Post2 Post3 Post4"
global state_var "Exitexam Perstudentexpenditure Studentteacherratio Povertyrate Unemploymentrate"
foreach x in $treat_var{
sum `x', meanonly
scalar mean`x'=r(mean)
}
qui reg  nchild $treat_var $state_var     i.division#c.by i.by i.mom_birth_state Exitexam Perstudentexpenditure Studentteacherratio Povertyrate Unemploymentrate [aw=perwt ]

local V=meanPost0+meanPost1+meanPost2+meanPost3+meanPost4
local c_weighted=(_b[Post0]*meanPost0/`V')+(_b[Post1]*meanPost1/`V')+(_b[Post2]*meanPost2/`V')+(_b[Post3]*meanPost3/`V')+(_b[Post4]*meanPost4/`V')
post placebo (`c_weighted')
restore
}

postclose placebo

use table_2_c5, clear

sum  /****Std Dev is the standard error of the weighted point estimate.*/




********************************************************************************
*Table 2; Column 6 
********************************************************************************
clear all
set matsize 10000
set maxvar 40000
set more off
global data " "
global dir " "
use $data/white_fertility_09_18, clear



preserve
gen Post0=0
replace Post0=1 if index==0

gen Post1=0
replace Post1=1 if index==1

gen Post2=0
replace Post2=1 if index==2

gen Post3=0
replace Post3=1 if index==3

gen Post4=0
replace Post4=1 if index>=4


global treat_var "Post0 Post1 Post2 Post3 Post4"
global state_var "Exitexam Perstudentexpenditure Studentteacherratio Povertyrate Unemploymentrate"
foreach x in $treat_var{
sum `x', meanonly
scalar mean`x'=r(mean)
}
 
reg childlessness $treat_var $state_var     i.division#c.by i.by i.mom_birth_state Exitexam Perstudentexpenditure Studentteacherratio Povertyrate Unemploymentrate [aw=perwt ], cluster(mom_birth_state)

local Z=meanPost0+meanPost1+meanPost2+meanPost3+meanPost4
lincom (_b[Post0]*meanPost0/`Z')+(_b[Post1]*meanPost1/`Z')+(_b[Post2]*meanPost2/`Z')+(_b[Post3]*meanPost3/`Z')+(_b[Post4]*meanPost4/`Z')
restore
********************************************************************************
set seed 23260513
capture postclose placebo		  
postfile placebo b using "$data/table_2_c6", replace
forvalues i=1/500 {
use $data/white_fertility_09_18, clear

preserve
bsample, cluster(mom_birth_state)

gen Post0=0
replace Post0=1 if index==0

gen Post1=0
replace Post1=1 if index==1

gen Post2=0
replace Post2=1 if index==2

gen Post3=0
replace Post3=1 if index==3

gen Post4=0
replace Post4=1 if index>=4


global treat_var "Post0 Post1 Post2 Post3 Post4"
global state_var "Exitexam Perstudentexpenditure Studentteacherratio Povertyrate Unemploymentrate"
foreach x in $treat_var{
sum `x', meanonly
scalar mean`x'=r(mean)
}
qui reg  childlessness $treat_var $state_var     i.division#c.by i.by i.mom_birth_state Exitexam Perstudentexpenditure Studentteacherratio Povertyrate Unemploymentrate [aw=perwt ]

local V=meanPost0+meanPost1+meanPost2+meanPost3+meanPost4
local c_weighted=(_b[Post0]*meanPost0/`V')+(_b[Post1]*meanPost1/`V')+(_b[Post2]*meanPost2/`V')+(_b[Post3]*meanPost3/`V')+(_b[Post4]*meanPost4/`V')
post placebo (`c_weighted')
restore
}

postclose placebo


use table_2_c6, clear

sum  /****Std Dev is the standard error of the weighted point estimate.*/






